package game

import (
	"msgserver/db"
	"msgserver/net"
	"msgserver/server/game/controller"
	"msgserver/server/game/gameConfig"
	"msgserver/server/game/gameConfig/general"
	"msgserver/server/game/logic"
)

var Router = &net.Router{}

func Init() {
	db.TestDB()

	// 加载基础配置  配置文件中加载
	gameConfig.Base.Load()
	// 加载地图的资源配置  配置文件中加载
	gameConfig.MapBuildConf.Load()
	// 加载地图单元格配置  配置文件中加载
	gameConfig.MapRes.Load()
	// 加载城池设施  配置文件中加载
	gameConfig.FacilityConf.Load()
	// 加载武将配置信息  配置文件中加载
	general.General.Load()
	general.GeneralBasic.Load()
	// 加载技能配置信息 配置文件中加载
	gameConfig.Skill.Load()
	general.GenArms.Load()
	// 在所有初始化之前完成的加载
	logic.BeforeInit()
	// 加载所有的建筑信息 数据库中加载
	logic.RoleBuildService.Load()
	// 加载所有的城池信息 数据库中加载
	logic.RoleCityService.Load()
	// 加载联盟的所有信息
	logic.CoalitionService.Load()
	// 加载所有的角色属性
	logic.RoleAttrService.Load()
	// 加载角色资源
	logic.RoleResService.Load()
	logic.ArmyService.Init()
	initRouter()
}

func initRouter() {
	controller.DefaultRoleController.Router(Router)
	controller.DefaultNationMapController.Router(Router)
	controller.DefaultGeneralController.Router(Router)
	controller.DefaultArmyController.Router(Router)
	controller.WarController.Router(Router)
	controller.SkillController.Router(Router)
	controller.InteriorController.Router(Router)
	controller.UnionController.Router(Router)
	controller.CityController.Router(Router)
}
